Generally, data transport networks are defined as having multiple “layers” that combine to make a network. For example, one standard that describes a multi-layer model is the International Telecommunication Union recommendation ITU-T X.200 (07/94), entitled “Information technology—Open Systems Interconnection—Basic Reference Model: The basic model.” The Open Systems Interconnection (OSI) Model contains the following seven layers: the Application Layer (layer 7), the Presentation Layer (layer 6), the Session Layer (layer 5), the Transport Layer (layer 4), the Network Layer (layer 3), the Data Link Layer (layer 2), and the Physical Layer (layer 1). The model may also include a Layer Zero containing transmission media.
An Optical Transport Network (OTN) is comprised of a plurality of switch nodes linked together to form a network. The OTN includes an electronic layer and an optical layer. The electronic layer and the optical layer each contain multiple sub-layers. The optical layer provides optical connections, also referred to as optical channels or lightpaths, to other layers, such as the electronic layer. The optical layer performs multiple functions, such as monitoring network performance, multiplexing wavelengths, and switching and routing wavelengths. In general, the OTN is a combination of the benefits of SONET/SDH technology and dense wavelength-division multiplexing (DWDM) technology (optics). OTN structure, architecture, and modeling are further described in the International Telecommunication Union recommendations, including ITU-T G.709, ITU-T G.872, and ITU-T G.805, which are well known in the art.
The construction and operation of switch nodes (also referred to as “nodes”) in the OTN is well known in the art. In general, the nodes of an OTN are generally provided with a control module, input interface(s) and output interface(s). The control modules of the nodes in the OTN function together to aid in the control and management of the OTN. The control modules can run a variety of protocols for conducting the control and management of the OTN. One prominent protocol is referred to in the art as Generalized Multiprotocol Label Switching (GMPLS).
Generalized Multiprotocol Label Switching (GMPLS) is a type of protocol which extends multiprotocol label switching (MPLS) to encompass network schemes based upon time-division multiplexing (e.g. SONET/SDH, PDH, G.709), wavelength multiplexing, and spatial switching (e.g. incoming port or fiber to outgoing port or fiber). Multiplexing is when two or more signals or bit streams are transferred over a common channel. Wave-division multiplexing is a type of multiplexing in which two or more optical carrier signals are multiplexed onto a single optical fiber by using different wavelengths (that is, colors) of laser light.
Typically, packet switched network systems are interconnected using wavelengths from the optical transmission backbone (the transport layer) that may contain a mix of WDM (optical) transmission and/or OTN (Digital) switching technologies and/or packet switching technologies. Conventionally, traffic engineers may set or pre-engineer a path for a data traffic flow through the packet switched layer of the network, or the path may be computed using native routing protocols within the packet switched layer.
Traffic Engineering (TE) is a technology that is concerned with performance optimization of operational networks, such as OTNs. In general, Traffic Engineering includes a set of applications, mechanisms, tools, and scientific principles that allow for measuring, modeling, characterizing and control of user data traffic in order to achieve specific performance objectives.
A switched network usually includes multiple switch nodes (also referred to as “nodes”) which are connected by communication links and arranged in a topology referred to in the art as a “mesh network”. Within the mesh network, user traffic can be transported between any two locations using predefined connections specifying particular links and/or switch nodes for conveying the user traffic. Shared Mesh Protection (SMP) is a common protection and recovery mechanism in mesh networks, where multiple paths can share the same set of network resources (such as bandwidth or timeslots) for protection purposes. Mesh networks utilizing Shared Mesh Protection may be referred to as shared mesh networks.
As discussed above, the switch nodes in the mesh network are each provided with a control module. The control modules of the switch nodes function together to aid in the control and management of the mesh networks. The control modules can run a variety of protocols for conducting the control and management of the mesh networks. One prominent protocol is referred to in the art as “Generalized Multiprotocol Label Switching (GMPLS)”.
Generalized Multiprotocol Label Switching includes multiple types of label switched paths including protection and recovery mechanisms which specifies predefined (1) working connections within a mesh network having multiple nodes and communication links for transmitting data between a headend node and a tailend node; and (2) protecting connections specifying a different group of nodes and/or communication links for transmitting data between the headend node to the tailend node in the event that one or more of the working connections fail. Working connections may also be referred to as working paths. Protecting connections may also be referred to as recovery paths and/or protecting paths and/or protection paths. A first node of a path may be referred to as a headend node or a source node. A last node of a path may be referred to as a tailend node or end node or destination node. The headend node or tailend node initially selects to receive data over the working connection (such as an optical channel data unit label switched path) and then, when a working connection fails, the headend node or tailend node selects a protecting connection for passing data within the mesh network. The set up and activation of the protecting connections may be referred to as restoration or protection. Protection mechanisms, where network resources act as a backup for working connections, have been in use for some time.
Routing and topology management protocols may also be used with GMPLS. Under OSPF protocols, typically each node in an Optical Transport Network maintains a database of the network topology and the current set of resources available, as well as the resources used to support traffic. In the event of any changes in the network, or simply periodically, the node floods the updated topology information to all the Optical Transport Network nodes which use the updated topology information to update their local databases. The nodes use their local database information to chart routes through the Optical Transport Network.
In current systems, to set up a connection in an Optical Transport Network, nodes in the Optical Transport Network exchange messages with other nodes in the Optical Transport Network using RSVP or RSVP-TE signaling protocols. Resources required for the connection are reserved and switches inside a node of the network are pre-configured to forward information from certain input ports to certain output ports. Information sent by signaling protocols are often in a type-length-value (TLV) format. The same protocols may also be used to take down connections in the Optical Transport Network when the connections are no longer needed.
In recent years, a new device known as an “OpenFlow Switch” and new protocol known as “OpenFlow” have been introduced. In a classical router or switch, the fast packet forwarding (data path) and the high level routing decisions (control path) occur on the same device. An OpenFlow Switch separates these two functions onto separate devices. The data path portion still resides on the router or switch, while high-level routing decisions are moved to a separate controller which is typically a standard server. An exemplary high-level routing decision includes the computation of a new path within the network, and notifying routers or switches of the new path. The OpenFlow Switch and Controller communicate via the OpenFlow protocol, which defines messages, such as packet-received, send-packet-out, modify-forwarding-table, and get-stats.